Java开发笔记(二十一)二维数组的扩展

您所在的位置:网站首页 如何获取二维数组的行、 列数 Java开发笔记(二十一)二维数组的扩展

Java开发笔记(二十一)二维数组的扩展

2022-06-11 01:43| 来源: 网络整理| 查看: 265

前面介绍的数组容纳的是一串数字,仿佛一根线把这组数字串了起来,故而它只是一维数组。一维数组用来表示简单的数列尚可,要是表达复杂的平面坐标系,那就力不从心了。由于平面坐标系存在水平和垂直两个方向,因此可用二维数组来保存平面坐标系上的一组坐标顶点,其中第一维是顶点队列,第二维是顶点的横纵坐标。许多个平面组合起来变成一幅动画,每个平面都构成动画的一个帧,这样就形成了三维数组。二维数组、三维数组,乃至更多维度的数组,统称为多维数组。多维数组全由一维数组扩展而来,它们的用法大同小异,因而只要学会如何使用二维数组,即可举一反三运用其他多维数组。下面就以二维数组为例,统一介绍多维数组的常见用法。如同一维数组那样,二维数组也有两种声明形式,一种是在变量名称后面添加两对方括号,例如“double triangle[][]”;另一种是在类型后面添加两对方括号,例如“int[][] triangle”。前述的二维数组triangle表示平面坐标系上的三角形,其中第一对方括号表示这个三角形有几个顶点,第二对方括号表示每个顶点由几个坐标方向构成。给二维数组分配存储空间也有三种方式,分别说明如下:1、利用语句“new 变量类型[顶点数量][方向数量]”分配空间,比如三角形triangle有三个顶点,每个顶点由横纵两个坐标方向组成,则可通过下面这行语句实现:

// 在两对方括号内分别填入数字,表示数组有多少行多少列 triangle = new double[3][2];

 

2、在分配存储空间的时候立即对数组进行初始化赋值,此时方括号中间不填数字,而在方括号后面添加花括号,并且花括号内部是以逗号分隔的几个一维数组。此时初始化赋值的代码如下所示:

// 方括号内留空,然后紧跟花括号,花括号内部是以逗号分隔的几个一维数组 double[][] triangle = new double[][]{ new double[]{-2.0, 0.0}, new double[]{0.0, -1.0}, new double[]{2.0, 1.0} };

 

3、可见上面的第二种写法实在啰嗦,完全可以参照一维数组的简化写法,把多余的“new double***”统统去掉,于是整个初始化代码精简如下:

// 赋值等号右边直接跟着花括号,花括号又内嵌好几个花括号分别表示对应的一维数组 double[][] triangle = { {-2.0, 0.0}, {0.0, -1.0}, {2.0, 1.0} };

以上的赋值等号右边直接跟着花括号,花括号里面又有三组花括号,每组花括号分别容纳两个数字。这便告诉编译器:该二维数组需要分配三个顶点,并且每个顶点都有两个坐标方向。

若要获取二维数组里面的某个元素,可采取“数组名称[元素行号][元素列号]”的形式,表示当前操作的是第几行第几列的数组元素。与一维数组不同的是,对于二维数组来说,“数组名称.length”不能获得所有元素的数量,而是获得该数组的行数;要想获取某行的列数,则需通过“triangle[行号].length”来得到,把所有行的列数累加起来,才能求得该二维数组的元素个数。下面是声明一个浮点型的二维数组,并对每个数组元素赋值,最后遍历打印各元素的完整代码例子:

// 以下是声明二维数组的第一种形式:“变量类型 数组名称[][]” double triangle[][]; // 以下是分配二维数组空间的第一种形式 // 在两对方括号内分别填入数字,表示数组有多少行多少列 triangle = new double[3][2]; // 数组名称后面的“[数字1][数字2]”,就是数组元素的行列下标,表示当前操作的是第几行第几列的数组元素 triangle[0][0] = -2.0; triangle[0][1] = 0.0; triangle[1][0] = 0.0; triangle[1][1] = -1.0; triangle[2][0] = 2.0; triangle[2][1] = 1.0; // 下面通过循环语句依次读出数组中的所有元素。 // “二维数组名称.length”表示获取该数组的行数 for (int i=0; i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3